package com.clstu.staticmathod_.final_;

public class Final {
    public static void main(String[] args) {
        System.out.println(B.N1);
        //new B().say();
    }
}
/*
final 的类不可被继承，final的方法不可被重写，但是可以在子类使用，final修饰的变量称为常量，能且只能且必须被赋值一次

 所以的包装类都是final类，不可被继承，例如String，Double。。。
 */
class  A{
    public final void say(){//final类的方法可以不加fianl，默认为final
        System.out.println("say()");
        String a;
    }
}

final class B extends A{
    public final  static int N1;//当final 和 static 同时修饰变量的时候再调用变量静态代码块不会被执行
    //final 修饰的变量一般
    static {
        N1=100;//当静态常量在这里赋初始值的时候仍然会执行该代码块的内容
        System.out.println("hh,this is A static Code Block..");
    }
}

//class x extends String{//这就是错误的，包装类都是final的
//
//}